package com.fg.cloud.manager.service.agency;


import java.util.List;

import com.fg.cloud.common.PageUtils;
import com.fg.cloud.common.construction.Tree;
import com.fg.cloud.manager.entry.agency.vo.AgencyProductVo;
import com.fg.cloud.manager.service.BaseService;

/**
 * 经销商-订货权限service
 * @author around
 * @date 2017-6-26
 */
public interface AgencyProductService extends BaseService {
	
	/**
	 * 判断经销商订货权限表是否存在，不存在直接创建
	 * @param facId
	 * @return
	 */
	boolean tableIsExit(Long facId);

	/**
	 * 厂商平台 - 经销商订货权限 - 订货权限列表查询 
	 * @param facId 
	 * @param ageId
	 * @return List<Tree>
	 */
	List<Tree> findList(Long facId, Long ageId);
	
	/**
	 * Description:厂商平台 - 经销商订货权限 - 订货权限新增查询 
	 * @param facId
	 * @param ageId
	 * @return
	 * @author around
	 * @date 2017年8月16日下午5:18:59
	 */
	List<Tree> findAddAgencyProductByCategorys(Long facId, Long ageId);
	
	/**
	 * 更新经销商订货权限
	 * @param facId 厂商ID
	 * @param ageId 经销商ID
	 * @param originalIds 原始选择ID集合
	 * @param categoryIds 最新选择集合
	 * @return boolean true:成功
	 */
	boolean refreshAgencyProductByCategory(Long facId, Long ageId, 
			String originalIds, String categoryIds);
	
	/**
	 * 批量删除-经销商订货权限 -- 产品分类
	 * @param facId 厂商ID
	 * @param ageId 经销商ID
	 * @param ids
	 * @return boolean true:成功
	 */
	boolean batchDeletes(Long facId, Long ageId, Long[] ids);
	
	
	/**
	 * 批量新增-经销商订货权限 -- 产品分类
	 * @param facId 厂商ID
	 * @param ageId 经销商ID
	 * @param categoryIds 分类ID集合
	 * @return boolean true:成功
	 */
	boolean batchInserts(Long facId, Long ageId, String[] categoryIds);
	
	void selectAgencyProductByCategorys(PageUtils<AgencyProductVo> pageinfo);
}
